LoginController   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 3
eloc 16
dl 0
loc 18
c 0
b 0
f 0
rs 10

1 Function

Rating   Name   Duplication   Size   Complexity  
A login 0 16 3
1
import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
2
import LoginRequest from 'App/Requests/LoginRequest'
3
4
export default class LoginController {
5
  public async login({ auth, request }: HttpContextContract)
6
  {
7
    const payload = await LoginRequest.validate(request)
8
    if (payload.hasOwnProperty('errors')) {
9
      return payload
10
    }
11
12
    try {
13
      const token = await auth.use('api').attempt(payload.email, payload.password)
14
      return {
15
        accessToken: token,
16
        user: auth.use('api').user
17
      }
18
    } catch {
19
      return {
20
        errors: 'Invalid credentials'
21
      }
22
    }
23
  }
24
}
25